package dk.seqSite.utils {
	import flash.net.SharedObject;	
	
	/**
	 * @author jk
	 */
	public class SharedObjectUtil {

		public static function get_sParm(SITE_SO_KEY : String, PARM_KEY : String, sDefaultReturn : String="") : String {
			
			var sReturn : String=get_oValue(SITE_SO_KEY, PARM_KEY);
			
			if (sReturn!=null) {
				return sReturn;
			} else {
				return sDefaultReturn;
			}
		}
		
		public static function get_uintParm(SITE_SO_KEY : String, PARM_KEY : String, uintDefaultReturn : uint=0xFF0000) : uint {
			
			var sReturn : String=get_oValue(SITE_SO_KEY, PARM_KEY);
			
			if (sReturn != null) {
				return Number(sReturn) as uint;
			} else {
				return uintDefaultReturn;
			}		}
		
		public static function get_nParm(SITE_SO_KEY : String, PARM_KEY : String, nDefaultReturn : Number = NaN) : uint {
			
			var sReturn : String=get_oValue(SITE_SO_KEY, PARM_KEY);
			
			if (sReturn != null) {
				return Number(sReturn);
			} else {
				return nDefaultReturn;
			}
		}
		
		public static function get_bParm(sSOKey : String, sParmKey : String, bDefaultReturnValue : Boolean=false) : Boolean {
			var sRetrun : String=get_oValue(sSOKey, sParmKey);
			if (sRetrun!=null) {
				if(sRetrun.toLowerCase()=="false") {
					return false;
				} else {
					return true;
				}
			} else {
				return bDefaultReturnValue;
			}
		}

		private static function get_oValue(SITE_SO_KEY : String, PARM_KEY : String) : String {
			var oSO : SharedObject = SharedObject.getLocal(SITE_SO_KEY);
			return oSO.data[PARM_KEY];
		}
		
		public static function set_oParm(sSOKey : String, sParmKey : String, oValue:*) : void {
			var oSO : SharedObject = SharedObject.getLocal(sSOKey);
			oSO.data[sParmKey] = oValue;			//oSO.flush();		}			}
}
